require "json"

# 实时成绩
class RealResult
  include JSON::Serializable

  # 头部数据
  @[JSON::Field(key: "Head")]
  property head : Head

  # 主体数据
  @[JSON::Field(key: "Body")]
  property body : Body
end

# 主体数据
class Body
  include JSON::Serializable

  # 代表队/代表团/俱乐部
  @[JSON::Field(key: "Team")]
  property team : String

  # 运动员姓名
  @[JSON::Field(key: "AthleteName")]
  property athlete_name : String

  # 运动员号码
  @[JSON::Field(key: "AthleteBib")]
  property athlete_bib : String

  # 运动员联系方式
  @[JSON::Field(key: "AthleteTelephone")]
  property athlete_telephone : String

  # A线成绩
  @[JSON::Field(key: "ResultA")]
  property result_a : String

  # B线成绩
  @[JSON::Field(key: "ResultB")]
  property result_b : String

  # 排名
  @[JSON::Field(key: "Rank")]
  property rank : String
end

# 头部数据
class Head
  include JSON::Serializable

  # 设备Id
  @[JSON::Field(key: "DeviceId")]
  property device_id : String

  # 消息Uuid
  @[JSON::Field(key: "MessageUuid")]
  property message_uuid : String

  # 发送消息的时间。格式：yyyy-MM-dd HH:mm:ss.fff 比如：2020-09-02 12:24:09.923
  @[JSON::Field(key: "Timestamp")]
  property timestamp : String

  # 消息类型
  @[JSON::Field(key: "MessageType")]
  property message_type : String
end
